#include "mytabview.h"


static void tabview_1(void)
{
    //所放父类；标签栏位置；标签栏宽度
    lv_obj_t* tabview = lv_tabview_create(lv_scr_act(), LV_DIR_TOP, 50);

    //选项卡命名
    lv_obj_t* tab1 = lv_tabview_add_tab(tabview, "tab1");
    lv_obj_t* tab2 = lv_tabview_add_tab(tabview, "tab2");
    
    //设置当前选中的选项卡
    lv_tabview_set_act(tabview, 1, LV_ANIM_OFF);
}


static void tabview_2(void)
{
    lv_obj_t *tableView = lv_tabview_create(lv_scr_act(), LV_DIR_TOP, 50);                      // 创建选项卡视图部件
    lv_obj_set_size(tableView, 600, 400);
    lv_obj_t *tab1 = lv_tabview_add_tab(tableView, "Sakura");                   // 添加选项卡
    lv_obj_t *tab2 = lv_tabview_add_tab(tableView, "Mikoto");
    lv_obj_t *tab3 = lv_tabview_add_tab(tableView, "Shana");

    lv_obj_t *label1 = lv_label_create(tab1);
    lv_obj_center(label1);
    lv_obj_set_style_text_font(label1, &lv_font_montserrat_30, LV_PART_MAIN);
    lv_label_set_text(label1, "This the first tab\n\n"
                                                             "If the content\n"
                                                             "of a tab\n"
                                                             "become too long\n"
                                                             "the it \n"
                                                             "automatically\n"
                                                            "become\n"
                                                             "scrollable.");

    // lv_obj_t *label2 = lv_label_create(tab2);
    // lv_obj_center(label2);
    // lv_obj_set_style_text_font(label2, &lv_font_montserrat_30, LV_PART_MAIN);
    // lv_label_set_text(label2, "Mikoto");
    lv_obj_set_flex_flow(tab2, LV_FLEX_FLOW_ROW_WRAP);  //设置tab2的布局，自动换行
    for(int i = 0; i < 30; i++) {
        lv_obj_t * btn = lv_btn_create(tab2);
        lv_obj_set_size(btn, 80, 50);

        lv_obj_t * label = lv_label_create(btn);
        lv_label_set_text_fmt(label, "BUTTON ""%"LV_PRIu32, i);
        lv_obj_center(label);
    }

    lv_obj_t *label3 = lv_label_create(tab3);
    lv_obj_center(label3);
    lv_obj_set_style_text_font(label3, &lv_font_montserrat_30, LV_PART_MAIN);
    lv_label_set_text(label3, "Shana");

    lv_tabview_set_act(tableView, 1, LV_ANIM_ON);                               // 设置当前选项卡

    lv_obj_t *button = lv_tabview_get_tab_btns(tableView);                      // 获取按钮部分

    lv_obj_set_style_bg_color(button, lv_color_hex(0xFF1493), LV_STATE_DEFAULT);    // 设置按钮的颜色
    lv_obj_set_style_bg_opa(button, LV_OPA_100, LV_STATE_DEFAULT);                         // 设置按钮的背景不透明度
    lv_obj_set_style_text_color(button, lv_color_hex(0x9400D3), LV_STATE_DEFAULT);  // 设置按钮的字体颜色

    lv_obj_t *content = lv_tabview_get_content(tableView);                      // 获取主体容器
    lv_obj_set_style_bg_color(content, lv_color_hex(0x90EE90), LV_STATE_DEFAULT);
    lv_obj_set_style_bg_opa(content, LV_OPA_100, LV_STATE_DEFAULT);
}


void mytabview_example(void)
{
    tabview_2();
}